﻿using System;
using System.ComponentModel;

namespace Tms.Model
{
    //单次刺激-明细表1
    //TMS_single_detail --> TMS_single_report --> TMS_ncs_detail
    //单次刺激，支持 A&B，但不支持 A|B    
    //历史记录，缺阈值字段（_AThreshold、_BThreshold）//【todo】暂不实现，无法在此处扩展，需新建表。
    //
    public class single_detail
    {
        //常规字段
        private string _id;               //主键ID，一个图一条记录，格式：年月日时分秒毫秒 + 序号
        private string _once_id;          //一次操作ID（类似组ID），一次操作可能会产生多个图，格式：年月日时分秒毫秒
        private string _patient_no;       //患者编号
        private string _patient_name;     //患者姓名
        private string _inpatient_no;     //住院号 
        private string _ncs_item_name;    //NCS项目名称
        private string _stim_body_name;   //刺激部位
        private string _record_body_name; //采集部位
        private string _CoilName;         //线圈名称
        private string _WhichCoil;        //哪个线圈（只针对A&B时有意义）//暂不用
        private string _WhichChan;        //肌电通道，A代表CH1，B代表CH2。//双路：A线圈固定CH1，B线圈固定CH2，单路：A线圈可能CH1，也可能CH2，不存在B线圈。【!!!】
        private string _SynFlag;          //单拍同步标识（None、AAA、ABB、BAA、BBB）//A&B是双拍同步，所以A&B时不存在单拍同步。
        private string _Power;            //刺激强度   
        private string _SyncSpan;         //单拍同步间隔
        private string _AB_SyncSpan;      //AB同步间隔（单次刺激、ERPs刺激：两个字节；重复刺激、序列刺激：一个字节）
        private string _wave_data;        //曲线数据                
        private string _user_name;        //登录账号
        private string _doctor_name;      //主治医生
        private DateTime _add_time = DateTime.Now;//时间
                

        #region 属性

        //主键ID   
        public string id
        {
            get { return _id; }
            set { _id = value; }
        }

        //一次操作ID   
        public string once_id
        {
            get { return _once_id; }
            set { _once_id = value; }
        }

        //患者编号
        public string patient_no
        {
            get { return _patient_no; }
            set { _patient_no = value; }
        }

        //患者姓名
        public string patient_name
        {
            get { return _patient_name; }
            set { _patient_name = value; }
        }

        //住院号
        public string inpatient_no
        {
            get { return _inpatient_no; }
            set { _inpatient_no = value; }
        }

        //NCS项目名称
        public string ncs_item_name
        {
            get { return _ncs_item_name; }
            set { _ncs_item_name = value; }
        }

        //刺激部位 
        public string stim_body_name
        {
            get { return _stim_body_name; }
            set { _stim_body_name = value; }
        }

        //采集部位
        public string record_body_name
        {
            get { return _record_body_name; }
            set { _record_body_name = value; }
        }

        //线圈名称
        public string CoilName
        {
            get { return _CoilName; }
            set { _CoilName = value; }
        }

        //哪个线圈
        public string WhichCoil
        {
            get { return _WhichCoil; }
            set { _WhichCoil = value; }
        }

        //肌电通道
        public string WhichChan
        {
            get { return _WhichChan; }
            set { _WhichChan = value; }
        }

        //单拍同步标识（即分类）
        public string SynFlag
        {
            get { return _SynFlag; }
            set { _SynFlag = value; }
        }

        //刺激强度
        public string Power
        {
            get { return _Power; }
            set { _Power = value; }
        }

        //单拍同步间隔
        public string SyncSpan
        {
            get { return _SyncSpan; }
            set { _SyncSpan = value; }
        }

        //A-B同步间隔
        public string AB_SyncSpan
        {
            get { return _AB_SyncSpan; }
            set { _AB_SyncSpan = value; }
        }

        //波形数据
        public string wave_data
        {
            set { _wave_data = value; }
            get { return _wave_data; }
        }
                       
        //登录账号
        public string user_name
        {
            get { return _user_name; }
            set { _user_name = value; }
        }

        //主治医生
        public string doctor_name
        {
            get { return _doctor_name; }
            set {  _doctor_name = value;  }
        }

        //添加时间
        public DateTime add_time
        {
            get { return _add_time; }
            set { _add_time = value; }
        }

        #endregion
    }

    //单拍同步标识（A&B是双拍同步，所以A&B时不存在单拍同步）
    public enum SynFlagEnum
    {
        [Description("None")] //非单拍同步
        None,
        [Description("AAA")]  //A线圈CH1，单拍同步
        AAA,
        [Description("ABB")]  //A线圈CH2，单拍同步
        ABB,
        [Description("BAA")]  //B线圈CH1，单拍同步  //目前硬件不支持
        BAA,
        [Description("BBB")]  //B线圈CH2，单拍同步  //目前硬件不支持
        BBB
    }

}

